package com.example.testandroid;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

public class TestWebView extends Activity {
	WebView mWebView;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.test3);
		WebView content_wv = (WebView) findViewById(R.id.my_webview);
		WebSettings ws = content_wv.getSettings();
		ws.setJavaScriptEnabled(true); // 设置支持javascript脚本
		ws.setAllowFileAccess(true); // 允许访问文件
		ws.setBuiltInZoomControls(true); // 设置显示缩放按钮
		ws.setSupportZoom(true); // 支持缩放

		/**
		 * 用WebView显示图片，可使用这个参数 设置网页布局类型： 1、LayoutAlgorithm.NARROW_COLUMNS ：
		 * 适应内容大小 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕，内容将自动缩放
		 */
		ws.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
		ws.setDefaultTextEncodingName("utf-8"); // 设置文本编码
		ws.setAppCacheEnabled(true);
		ws.setCacheMode(WebSettings.LOAD_DEFAULT);// 设置缓存模式

		// 添加Javascript调用java对象
		content_wv.addJavascriptInterface(this, "java2js");
		content_wv.setWebViewClient(new WebViewClientDemo());
		content_wv.setWebChromeClient(new WebViewChromeClientDemo());
		// 设置打开的网页
		content_wv.loadUrl("http://www.autohome.com.cn/news/201503/866245.html");
		// 使用WebView来显示图片
		content_wv.loadData("<img src='http://orgcent.com'/>", "text/html", "utf8");
	}

	private class WebViewClientDemo extends WebViewClient {
		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) {
			view.loadUrl(url);// 当打开新链接时，使用当前的 WebView，不会使用系统其他浏览器
			return true;
		}
	}

	private class WebViewChromeClientDemo extends WebChromeClient {
		// 设置网页加载的进度条
		public void onProgressChanged(WebView view, int newProgress) {
		}

		// 获取网页的标题
		public void onReceivedTitle(WebView view, String title) {
		}

		// JavaScript弹出框
		@Override
		public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
			return super.onJsAlert(view, url, message, result);
		}

		// JavaScript输入框
		@Override
		public boolean onJsPrompt(WebView view, String url, String message, String defaultValue,
				JsPromptResult result) {
			return super.onJsPrompt(view, url, message, defaultValue, result);
		}

		// JavaScript确认框
		@Override
		public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
			return super.onJsConfirm(view, url, message, result);
		}
	}

}
